using System;
using System.Collections.Generic;
using System.Text;

using Kypris2.Data;
using Jamila2.Database;

namespace GonzalesCore.CoreManagers
{
    internal sealed class GonzalesDataStructure 
    {

        public GonzalesDataStructure.TablesCollection Tables = new TablesCollection();
        public GonzalesDataStructure.ViewsCollection Views = new ViewsCollection();
        public GonzalesDataStructure.StoredProceduredsCollection StoredProcedures = new StoredProceduredsCollection();
        
        public GonzalesDataStructure()
            : base()
        {                     
           
        }

        public class TablesCollection
        {
            #region Declaration

            public TableMasterAuthorizer MasterAuthorizer = new TableMasterAuthorizer("Master Authorizer", "master_authorizer");
            public TableMasterUsers MasterUsers = new TableMasterUsers("Master Users", "master_users");
            public TableMasterAdmins MasterAdmins = new TableMasterAdmins("Master Admin", "master_admins");
            public TableMasterClaimTypes MasterClaimTypes = new TableMasterClaimTypes("Master Claim Types", "master_claimtype");
            public TableMasterClaimTypesLanguage MasterClaimTypesLanguages = new TableMasterClaimTypesLanguage("Master Claim Types Languages", "master_claimtype_language");
            public TableMasterClaimTypesLimit MasterClaimTypesLimit = new TableMasterClaimTypesLimit("Master Claim Types Limit", "master_exceptional_claimtype_limit");
            public TableMasterClaimTypesRelation MasterClaimTypesRelation = new TableMasterClaimTypesRelation("Master Claim Types Relation", "master_claimtype_relation_entity");
            public TableMasterCommon MasterCommon = new TableMasterCommon("Master Common", "master_common");            
            public TableMasterCompany MasterCompany = new TableMasterCompany("Master Company", "master_company");            
            public TableMasterCompanyFI MasterCompanyFI = new TableMasterCompanyFI("Master Company Finance Admin", "master_company_fi");
            public TableMasterDepartment MasterDepartment = new TableMasterDepartment("Master Department", "master_department");
            public TableMasterExceptionalApproverMatrix MasterExceptionalApproverMatrix = new TableMasterExceptionalApproverMatrix("Master Exception Approver Matrix", "master_exceptional_appr_matrix");
            public TableMasterCountry MasterCountry = new TableMasterCountry("Master Country", "master_country");
            public TableMasterCurrency MasterCurrency = new TableMasterCurrency("Master Currency", "master_currency");
            public TableMasterFinanceApprover MasterFinanceApprover = new TableMasterFinanceApprover("Master Finance Approver", "master_finance_appr");            
            public TableMasterCompanyBranch MasterCompanyBranch = new TableMasterCompanyBranch("Master Company Branch", "master_company_branch");
            public TableMasterEntity MasterEntity = new TableMasterEntity("Master Entity", "master_entity");
            public TableMasterExchangeRate MasterExchangeRate = new TableMasterExchangeRate("Master Exchange Rate", "master_exchange_rate");
            public TableMasterProject MasterProject = new TableMasterProject("Master Projects", "master_projects");
            public TableClaimHeader ClaimHeader = new TableClaimHeader("Claim Header", "op_claim_header");
            public TableClaimDetail ClaimDetail = new TableClaimDetail("Claim Detail", "op_claim_detail");
            public TableLogActions ActionsLog = new TableLogActions("Actions Log", "log_actions");
            public TableLogError ErrorLog = new TableLogError("Error Log", "log_error");
            public TableCreditCardActual CreditCardActual = new TableCreditCardActual("Credit Card Actual", "op_cc_actual");
            public TableMasterFile MasterFile = new TableMasterFile("Master File", "master_file");
            public TableFinanceApproverRemarks FinanceApproverRemarks = new TableFinanceApproverRemarks("Finance Approver Remarks", "master_finance_appr_rem");
            public TableEntertainmentHeader EntertainmentHeader = new TableEntertainmentHeader("Entertainment Header", "op_extra_entertainment");
            public TableEntertainmentDetail EntertainmentDetail = new TableEntertainmentDetail("Entertainment Detail", "op_extra_entertainment_detail");
            public TableActionHistory ActionHistory = new TableActionHistory("Action History", "op_action_history");
            public TableMasterPaymentDate MasterPaymentDate = new TableMasterPaymentDate("Master Payment Date", "master_payment_date"); 

            public TempTableEmployee TempEmployee = new TempTableEmployee("Temp: Employee", "tmp_employee");
            public TempTableProject TempProject = new TempTableProject("Temp: Project", "tmp_project");
            public TempTableExpenseDetail TempExpenseDetail = new TempTableExpenseDetail("Temp: Expense Detail", "tmp_expense_detail");
            public TempTableExchangeRate TempExchangeRate = new TempTableExchangeRate("Temp: Exchange Rate", "tmp_exrate");
            public TempTableCreditCard TempCreditCard = new TempTableCreditCard("Temp: Credit Card", "tmp_creditcard");
            public TempTableClaimTypesLimit TempClaimTypesLimit = new TempTableClaimTypesLimit("Temp: Exceptional Claimtype Limit", "tmp_exceptional_claimtype_limit");

            //Added by Agnes[16th August, 2011]
            public TableClaimAction LogClaimAction = new TableClaimAction("Claims Action", "log_claim_action");


            //Added by mei chze 18072012
            public TableClaimChangeStatus ChangeClaimStatus = new TableClaimChangeStatus("Change Claim Status", "master_ChangeStatusDetail");

            #endregion

            #region Tables

            #region TableMasterAuthorizer
            public class TableMasterAuthorizer : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn EntityID = new KyprisDataColumn("Entity ID", "entity_id");
                public KyprisDataColumn UserID = new KyprisDataColumn("User ID", "user_id");
                public KyprisDataColumn Level = new KyprisDataColumn("Level", "user_level");
                public KyprisDataColumn Currency = new KyprisDataColumn("Currency", "user_approve_currency");
                public KyprisDataColumn MinAmount = new KyprisDataColumn("Min Amount", "user_approve_min");
                public KyprisDataColumn MaxAmount = new KyprisDataColumn("Max Amount", "user_approve_max");

                public TableMasterAuthorizer(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterUsers
            public class TableMasterUsers : Kypris2DataStructure.TablesStructure.MasterUsers
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }
                
                public KyprisDataColumn Language = new KyprisDataColumn("Language", "user_language");
                public KyprisDataColumn DateFormat = new KyprisDataColumn("Date Format", "user_dateformat");
                public KyprisDataColumn ApprovalStopBit = new KyprisDataColumn("Approval Stop Bit", "user_appr_stopbit");
                public KyprisDataColumn Approver = new KyprisDataColumn("Approver", "user_appr");
                public KyprisDataColumn ApproverRouting = new KyprisDataColumn("Approver Routing", "user_appr_routing");
                public KyprisDataColumn JobTitle = new KyprisDataColumn("Job Title", "user_title");
                public KyprisDataColumn ActiveDirectoryDisngushedName = new KyprisDataColumn("ActiveDirectory Disngushed Name", "user_addistinguishedname");
                public KyprisDataColumn GreetingText = new KyprisDataColumn("Greeting Text", "user_greeting");
                public KyprisDataColumn DefaultCurrency = new KyprisDataColumn("Default Currency", "user_default_currency");
                public KyprisDataColumn WeeklyLimit = new KyprisDataColumn("Weekly Limit", "user_weeklylimit");
                public KyprisDataColumn CreditCardNo = new KyprisDataColumn("Credit Card No", "user_creditcard");
                public KyprisDataColumn OnBehalf = new KyprisDataColumn("On Behalf", "user_onbehalf");
                public KyprisDataColumn OnBehalfReview = new KyprisDataColumn("On Behalf Review", "user_onbehalf_review");

                public KyprisDataColumn NoApproverRequired = new KyprisDataColumn("No Approver Required", "user_no_appr");
                public KyprisDataColumn NoAuthorizerRequired = new KyprisDataColumn("No Authorizer Required", "user_no_auth");
                public KyprisDataColumn UserLDAP = new KyprisDataColumn("User LDAP", "user_ldap");

                public TableMasterUsers(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterAdmins
            public class TableMasterAdmins : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn UserInternalID = new KyprisDataColumn("User Internal ID", "user_id");
                public KyprisDataColumn IsITAdmin = new KyprisDataColumn("Is IT Admin", "is_itadmin");
                public KyprisDataColumn IsPowerAdmin = new KyprisDataColumn("Is Power User", "is_poweradmin");

                public TableMasterAdmins(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterClaimTypes
            public class TableMasterClaimTypes : Kypris2DataStructure.TablesStructure.MasterClaimTypes
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableMasterClaimTypes(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {                     
                }
            }
            #endregion

            #region TableMasterClaimTypesLanguage
            public class TableMasterClaimTypesLanguage : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("ClaimTypeID", "claimtype_id");
                public KyprisDataColumn Language = new KyprisDataColumn("Language", "claimtype_language");
                public KyprisDataColumn Description = new KyprisDataColumn("Description", "claimtype_desc");
                
                public TableMasterClaimTypesLanguage(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterClaimTypesLimit
            public class TableMasterClaimTypesLimit : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("ClaimTypeID", "claimtype_id");                
                public KyprisDataColumn LimitCurrency = new KyprisDataColumn("Limit Currency", "claimtype_limit_currency");
                public KyprisDataColumn LimitAmount = new KyprisDataColumn("Limit Amount", "claimtype_limit_amount");
                public KyprisDataColumn LimitDuration = new KyprisDataColumn("Limit Duration", "claimtype_limit_duration");
                public KyprisDataColumn Strict = new KyprisDataColumn("Strict", "claimtype_limit_strict");
                public KyprisDataColumn ClaimTypeUser = new KyprisDataColumn("ClaimTypeUser", "user_id");

                public TableMasterClaimTypesLimit(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterClaimTypesRelation
            public class TableMasterClaimTypesRelation : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("Claim Type ID", "claimtype_id");    // claim type internal id
                public KyprisDataColumn EntityID = new KyprisDataColumn("Entity ID", "claimtype_entity");    // entity id
                public KyprisDataColumn CategoryID = new KyprisDataColumn("Category ID", "claimtype_category");    // entity id
                public KyprisDataColumn PerDiem = new KyprisDataColumn("Per Diem", "claimtype_per_diem");    // Per Diem

                public TableMasterClaimTypesRelation(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterCommon
            public class TableMasterCommon : Kypris2DataStructure.TablesStructure.MasterCommon
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableMasterCommon(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterCompany
            public class TableMasterCompany : Kypris2DataStructure.TablesStructure.MasterCompany
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Entity = new KyprisDataColumn("Entity", "company_entity");
                public KyprisDataColumn CreditCardPaymentType = new KyprisDataColumn("CreditCardPaymentType", "company_cc_payment");
                public KyprisDataColumn MileageRate = new KyprisDataColumn("Mileage Rate", "company_mileage_rate");
                public KyprisDataColumn PettyCashLimit = new KyprisDataColumn("Petty Cash Limit", "company_pettycash_limit");
                public KyprisDataColumn DefaultLDAP = new KyprisDataColumn("Default LDAP", "company_default_ldap");
                public KyprisDataColumn CCCutOffDay = new KyprisDataColumn("CCCutOffDay", "company_cc_cutoffon");
                public KyprisDataColumn CCActivateDay = new KyprisDataColumn("CCActivateDay", "company_cc_activateon");
                public KyprisDataColumn UsingVAT = new KyprisDataColumn("UsingVAT", "company_use_vat");
                public KyprisDataColumn ExpiryDate = new KyprisDataColumn("ExpiryDate", "company_expiryDate");

                //Added By Agnes [31March2009] - for enchancement
                public KyprisDataColumn CreditCardReminder = new KyprisDataColumn("CreditCardReminder", "company_creditcardreminder");
                public KyprisDataColumn ClaimReminder = new KyprisDataColumn("ClaimReminder", "company_claimreminder");

                public TableMasterCompany(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region TableMasterCompanyFI
            public class TableMasterCompanyFI : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public Kypris2.Data.KyprisDataColumn CompanyID = new KyprisDataColumn("Company ID", "company_id");
                public Kypris2.Data.KyprisDataColumn UserID = new KyprisDataColumn("User ID", "user_id");

                public TableMasterCompanyFI(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterDepartment
            public class TableMasterDepartment : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public Kypris2.Data.KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public Kypris2.Data.KyprisDataColumn Description = new KyprisDataColumn("Description", "department_desc");
                public Kypris2.Data.KyprisDataColumn CompanyID = new KyprisDataColumn("Company ID", "department_company");
                public Kypris2.Data.KyprisDataColumn Code = new KyprisDataColumn("Code", "department_code");

                public TableMasterDepartment(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region TableMasterExceptionalApproverMatrix
            public class TableMasterExceptionalApproverMatrix : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn UserID = new KyprisDataColumn("User ID", "user_id");
                public KyprisDataColumn ApproverID = new KyprisDataColumn("Approver ID", "approver_id");
                public KyprisDataColumn ApprovingLevel = new KyprisDataColumn("Level", "approving_level");

                public TableMasterExceptionalApproverMatrix(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterCountry
            public class TableMasterCountry : Kypris2DataStructure.TablesStructure.MasterCountry
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableMasterCountry(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterCurrency
            public class TableMasterCurrency : Kypris2DataStructure.TablesStructure.MasterCurrency
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableMasterCurrency(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterFinanceApprover
            public class TableMasterFinanceApprover : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn EntityID = new KyprisDataColumn("Entity ID", "entity_id");
                public KyprisDataColumn CompanyID = new KyprisDataColumn("Company ID", "company_id");
                public KyprisDataColumn Level = new KyprisDataColumn("Level", "user_level");
                public KyprisDataColumn UserID = new KyprisDataColumn("User ID", "user_id");
                public KyprisDataColumn Currency = new KyprisDataColumn("Currency", "user_approve_currency");
                public KyprisDataColumn MinAmount = new KyprisDataColumn("Min Amount", "user_approve_min");
                public KyprisDataColumn MaxAmount = new KyprisDataColumn("Max Amount", "user_approve_max");

                public TableMasterFinanceApprover(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterCompanyBranch
            public class TableMasterCompanyBranch : Kypris2DataStructure.TablesStructure.MasterCompanyBranch
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableMasterCompanyBranch(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterEntity
            public class TableMasterEntity : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ID = new KyprisDataColumn("ID", "entity_id");
                public KyprisDataColumn EntityName = new KyprisDataColumn("Name", "entity_name");
                public KyprisDataColumn BPCS = new KyprisDataColumn("BPCS", "entity_bpcs");
                public KyprisDataColumn CreditCardPaymentType = new KyprisDataColumn("Credit Card Payment Type", "entity_cc_payment");
                public KyprisDataColumn Order = new KyprisDataColumn("Order", "entity_order");  

                public TableMasterEntity(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region TableMasterExchangeRate
            public class TableMasterExchangeRate : Kypris2DataStructure.TablesStructure.MasterExchangeRate
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableMasterExchangeRate(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterProject
            public class TableMasterProject : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ProjectID = new KyprisDataColumn("Project ID", "project_id");
                public KyprisDataColumn ProjectDescription = new KyprisDataColumn("Project Description", "project_description");
                public KyprisDataColumn ProjectType = new KyprisDataColumn("Project Type", "project_type");
                public KyprisDataColumn Active = new KyprisDataColumn("Active", "project_active");
                public KyprisDataColumn EntityID = new KyprisDataColumn("Entity ID", "entity_id");
                
                public TableMasterProject(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region TableClaimHeader
            public class TableClaimHeader : Kypris2DataStructure.TablesStructure.ClaimHeader
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn TotalLocalAmountAlreadyPaid = new KyprisDataColumn("Total Local Amount Already Paid", "claim_amount_paid");
                public KyprisDataColumn TotalLocalAmountLeft = new KyprisDataColumn("Ttaol Local Amount Left", "claim_amount_left");
                public KyprisDataColumn ProcessedBy = new KyprisDataColumn("ProcessedBy", "claim_processedby");
                public KyprisDataColumn NextAuthorizer = new KyprisDataColumn("Next Authorizer", "claim_next_authorizer");
                public KyprisDataColumn NextFinanceApproval = new KyprisDataColumn("Next Finance Aapproval", "claim_next_finance_approval");                
                public KyprisDataColumn AuthorizedOn = new KyprisDataColumn("Authorized On", "claim_authorized");
                public KyprisDataColumn FinanceApprovedOn = new KyprisDataColumn("Finance Approved On", "claim_finance_approved");                
                public KyprisDataColumn AuthorizedBy = new KyprisDataColumn("Authorized By", "claim_authorizedby");
                public KyprisDataColumn FinanceApprovedBy = new KyprisDataColumn("Finance Approved By", "claim_finance_approvedby");
                public KyprisDataColumn OnHoldOn = new KyprisDataColumn("On Hold On", "claim_onhold");
                public KyprisDataColumn OnHoldBy = new KyprisDataColumn("On Hold By", "claim_onholdby");                
                public KyprisDataColumn ChequeNo = new KyprisDataColumn("Cheque No", "claim_chequeno");
                public KyprisDataColumn IssuedBank = new KyprisDataColumn("Issued Bank", "claim_chequebank");
                public KyprisDataColumn LocalCurrency = new KyprisDataColumn("Local Currency", "claim_currency");
                public KyprisDataColumn DefaultCountry = new KyprisDataColumn("Default Country", "claim_default_country");
                public KyprisDataColumn DefaultCurrency = new KyprisDataColumn("Default Currency", "claim_default_currency");
                public KyprisDataColumn DefaultExchangeRate = new KyprisDataColumn("Default Exchange Rate", "claim_default_ex");

                public TableClaimHeader(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableClaimDetail
            public class TableClaimDetail : Kypris2DataStructure.TablesStructure.ClaimDetail
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ParentsInFI = new KyprisDataColumn("Parents In Finance", "detail_parent_fi");
                public KyprisDataColumn DetailType = new KyprisDataColumn("Type", "detail_type");
                public KyprisDataColumn DateEnd = new KyprisDataColumn("Date End", "detail_date_end");
                public KyprisDataColumn ApproverState = new KyprisDataColumn("Approver State", "detail_approver_state");
                public KyprisDataColumn FinanceState = new KyprisDataColumn("Finance State", "detail_fi_state");
                public KyprisDataColumn OtherReff = new KyprisDataColumn("Other Reff ID", "detail_otherreff");
                public KyprisDataColumn CountryCode = new KyprisDataColumn("Country Code", "detail_country");
                public KyprisDataColumn City = new KyprisDataColumn("Country Code", "detail_city");
                public KyprisDataColumn Tax = new KyprisDataColumn("Tax", "detail_tax");
                public KyprisDataColumn IsReceipts = new KyprisDataColumn("Having Receipts", "detail_receipts");
                public KyprisDataColumn IsPersonal = new KyprisDataColumn("Is Personal", "detail_personal");
                public KyprisDataColumn ProjectID = new KyprisDataColumn("Project ID", "detail_projectid");
                public KyprisDataColumn ChargeToProfitCenter = new KyprisDataColumn("Charge To Profit Center", "detail_profitcenter");
                public KyprisDataColumn ChargeToEmployeeID = new KyprisDataColumn("Charge To Employee ID", "detail_employeeid");
                public KyprisDataColumn DailyRate = new KyprisDataColumn("Daily Rate", "detail_dailyrate");
                public KyprisDataColumn AuthorizerRemarks = new KyprisDataColumn("AuthorizerRemarks", "detail_authorizer_rem");
                public KyprisDataColumn AuthorizerState = new KyprisDataColumn("Authorizer State", "detail_authorizer_state");
                public KyprisDataColumn FinanceApproverRemarks = new KyprisDataColumn("Finance Approver Remarks", "detail_fa_rem");
                public KyprisDataColumn FinanceApproverState = new KyprisDataColumn("Finance Approver State", "detail_fa_state");
                
                public TableClaimDetail(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableLogActions
            public class TableLogActions : Kypris2DataStructure.TablesStructure.LogActions
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public TableLogActions(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableLogError
            public class TableLogError : Kypris2DataStructure.TablesStructure.LogError
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn LogID = new KyprisDataColumn("Log ID", "log_id");

                public TableLogError(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableCreditCardActual
            public class TableCreditCardActual : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn PaymentType = new KyprisDataColumn("Payment Type", "payment_type");
                public KyprisDataColumn CardNo = new KyprisDataColumn("Card No", "trans_cardno");
                public KyprisDataColumn EmployeeNo = new KyprisDataColumn("Employee No", "trans_employeeid");
                public KyprisDataColumn TransactionCode = new KyprisDataColumn("Transaction Code", "trans_code");
                public KyprisDataColumn TransactionDate = new KyprisDataColumn("Transaction Date", "trans_date");
                public KyprisDataColumn Description = new KyprisDataColumn("Description", "trans_desc");
                public KyprisDataColumn CurrencySpent = new KyprisDataColumn("Currency Spent", "trans_currency");
                public KyprisDataColumn AmountSpent = new KyprisDataColumn("Amount Spent", "trans_amount");
                public KyprisDataColumn ExchangeRate = new KyprisDataColumn("Exchange Rate", "trans_exchange_rate");
                public KyprisDataColumn CurrencyFinal = new KyprisDataColumn("Currency Final", "trans_currency_final");
                public KyprisDataColumn AmountFinal = new KyprisDataColumn("Amount Final", "trans_amount_final");
                public KyprisDataColumn IsSelected = new KyprisDataColumn("Is Selected", "trans_selected");                
                public KyprisDataColumn ClaimHeaderID = new KyprisDataColumn("Claim Header ID", "trans_claimheader");
                public KyprisDataColumn ClaimItemID = new KyprisDataColumn("Claim Item ID", "trans_claimitem");
                public KyprisDataColumn IsDuplicated = new KyprisDataColumn("Is Duplicated", "trans_duplicated");                

                public TableCreditCardActual(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableMasterFile
            public class TableMasterFile : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "claim_id");
                public KyprisDataColumn FileName = new KyprisDataColumn("File Name", "file_name");
                public KyprisDataColumn FileContent = new KyprisDataColumn("File Content", "file_content");
                public KyprisDataColumn FileType = new KyprisDataColumn("File Type", "file_type");
                public KyprisDataColumn UploadDate = new KyprisDataColumn("Upload Date", "file_date");
                public KyprisDataColumn UploadedBy = new KyprisDataColumn("Uploaded By", "file_by");

                public TableMasterFile(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableFinanceApproverRemarks

            public class TableFinanceApproverRemarks : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "remarks_claimid");
                public KyprisDataColumn CreatedDateTime = new KyprisDataColumn("Remarks Date", "remarks_datetime");
                public KyprisDataColumn RemarksBy = new KyprisDataColumn("Remarks By", "remarks_by");
                public KyprisDataColumn RemarksTo = new KyprisDataColumn("Remarks To", "remarks_to");
                public KyprisDataColumn Level = new KyprisDataColumn("Level", "remarks_level");
                public KyprisDataColumn Content = new KyprisDataColumn("Content", "remarks_content");

                public TableFinanceApproverRemarks(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableEntertainmentHeader

            public class TableEntertainmentHeader : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "claim_id");
                public KyprisDataColumn ClaimItemID = new KyprisDataColumn("Claim Item ID", "claim_item_id");
                public KyprisDataColumn Purpose = new KyprisDataColumn("Purpoese", "ent_purpose");
                public KyprisDataColumn GovOfficial = new KyprisDataColumn("Gov. Official", "ent_gov");
                public KyprisDataColumn TotalCost = new KyprisDataColumn("Total Cost", "ent_total");

                public TableEntertainmentHeader(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableEntertainmentDetail

            public class TableEntertainmentDetail : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn EntID = new KyprisDataColumn("Header ID", "ent_id");
                public KyprisDataColumn Attendees = new KyprisDataColumn("Attendees", "ent_attendees");
                public KyprisDataColumn Title = new KyprisDataColumn("Title", "ent_title");
                public KyprisDataColumn Company = new KyprisDataColumn("Company", "ent_company");
                public KyprisDataColumn Order = new KyprisDataColumn("Order", "ent_order");
                public KyprisDataColumn CostPerHead = new KyprisDataColumn("Cost Per Head", "ent_perhead");

                public TableEntertainmentDetail(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region TableActionHistory

            public class TableActionHistory : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "claim_id");
                public KyprisDataColumn ActionDateTime = new KyprisDataColumn("Action Date Time", "action_datetime");
                public KyprisDataColumn PersonnelID = new KyprisDataColumn("Personnel ID", "personnel_id");
                public KyprisDataColumn Action = new KyprisDataColumn("Action", "personnel_action");
                public KyprisDataColumn ActionStatus = new KyprisDataColumn("Action Status", "personnel_action_status");

                public TableActionHistory(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region TableMasterPaymentDate
            public class TableMasterPaymentDate : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn PaymentID = new KyprisDataColumn("Payment ID", "payment_id");
                public KyprisDataColumn CompanyID = new KyprisDataColumn("Company ID", "payment_company");
                public KyprisDataColumn CutOffDay = new KyprisDataColumn("Cut Off Day", "payment_cutoff");

                public TableMasterPaymentDate(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region Temp: TableEmployee

            
            public class TempTableEmployee : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "employee_id");
                public KyprisDataColumn EmployeeName = new KyprisDataColumn("Employee Name", "employee_name");
                public KyprisDataColumn EmployeeLocalName = new KyprisDataColumn("Local Name", "employee_local");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "employee_emailid");
                public KyprisDataColumn CostCenter = new KyprisDataColumn("Cost Center", "employee_cc");
                public KyprisDataColumn CountryCode = new KyprisDataColumn("Country Code", "employee_country");
                public KyprisDataColumn CompanyCode = new KyprisDataColumn("Company Code", "employee_companyid");
                public KyprisDataColumn Email = new KyprisDataColumn("Employee Email", "employee_email");
                public KyprisDataColumn VendorID = new KyprisDataColumn("Employee VendorID", "employee_vendorid");

                public TempTableEmployee (string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }            

            #endregion

            #region Temp: TableProject
            public class TempTableProject : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ProjectID = new KyprisDataColumn("Project ID", "project_id");
                public KyprisDataColumn ProjectDescription = new KyprisDataColumn("Project Description", "project_description");
                public KyprisDataColumn ProjectType = new KyprisDataColumn("Project Type", "project_type");
                public KyprisDataColumn EntityID = new KyprisDataColumn("Entity ID", "entity_id");

                public TempTableProject(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region Temp: TempTableExpenseDetail
            public class TempTableExpenseDetail : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn EntityID = new KyprisDataColumn("Entity ID", "entity_id");
                public KyprisDataColumn ExpenseDetailCode = new KyprisDataColumn("Expense Detail Code", "claimtype_id");
                public KyprisDataColumn Description = new KyprisDataColumn("Description", "claimtype_description");

                public TempTableExpenseDetail(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region Temp: TempTableExchangeRate
            public class TempTableExchangeRate : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn SourceCurrency = new KyprisDataColumn("Source Currency", "currency_source");
                public KyprisDataColumn TargetCurrency = new KyprisDataColumn("Target Currency", "currency_target");
                public KyprisDataColumn ExRate = new KyprisDataColumn("Ex Rate", "rate");                

                public TempTableExchangeRate(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region Temp: TempTableCreditCard
            public class TempTableCreditCard : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn TransactionCode = new KyprisDataColumn("TransactionCode", "tmp_transaction_code");
                public KyprisDataColumn TransactionDate = new KyprisDataColumn("TransactionDate", "tmp_transaction_date");
                public KyprisDataColumn CreditCardNo = new KyprisDataColumn("CreditCardNo", "tmp_transaction_card");
                public KyprisDataColumn EmployeeID = new KyprisDataColumn("EmployeeID", "tmp_transaction_employeeid");
                public KyprisDataColumn AmountSpent = new KyprisDataColumn("AmountSpent", "tmp_amount_spent");
                public KyprisDataColumn CurrencySpent = new KyprisDataColumn("CurrencySpent", "tmp_currency_spent");
                public KyprisDataColumn AmountFinal = new KyprisDataColumn("AmountFinal", "tmp_amount_final");
                public KyprisDataColumn CurrencyFinal = new KyprisDataColumn("CurrencyFinal", "tmp_currency_final");
                public KyprisDataColumn ExhchangeRate = new KyprisDataColumn("ExhchangeRate", "tmp_exchange_rate");
                public KyprisDataColumn Description = new KyprisDataColumn("Description", "tmp_description");

                public TempTableCreditCard(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region Temp: TempTableClaimTypesLimit
            public class TempTableClaimTypesLimit : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn SessionID = new KyprisDataColumn("Session ID", "session_id");
                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("ClaimTypeID", "claimtype_id");
                public KyprisDataColumn ClaimTypeDesc = new KyprisDataColumn("ClaimTypeDesc", "claimtype_desc");
                public KyprisDataColumn LimitCurrency = new KyprisDataColumn("Limit Currency", "limit_currency");
                public KyprisDataColumn LimitAmount = new KyprisDataColumn("Limit Amount", "limit_amount");
                public KyprisDataColumn LimitDuration = new KyprisDataColumn("Limit Duration", "limit_duration");
                public KyprisDataColumn Strict = new KyprisDataColumn("Strict", "limit_strict");
                public KyprisDataColumn ClaimTypeUser = new KyprisDataColumn("ClaimTypeUser", "employee_id");

                public TempTableClaimTypesLimit(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            //Added by Agnes [16th Aug, 2011]
            #region TableClaimAction
            public class TableClaimAction : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ClaimInternalID = new KyprisDataColumn("Claim Internal ID", "claim_id");
                public KyprisDataColumn Appr1_InternalID = new KyprisDataColumn("Appr1_InternalID", "appr1_internal_id");
                public KyprisDataColumn Appr1_DisplayName = new KyprisDataColumn("Appr1_DisplayName", "appr1_display_name");
                public KyprisDataColumn Appr1_Status = new KyprisDataColumn("Appr1_Status", "appr1_status");
                public KyprisDataColumn Appr1_Date = new KyprisDataColumn("Appr1_Date", "appr1_date");

                public KyprisDataColumn Appr2_InternalID = new KyprisDataColumn("Appr2_InternalID", "appr2_internal_id");
                public KyprisDataColumn Appr2_DisplayName = new KyprisDataColumn("Appr2_DisplayName", "appr2_display_name");
                public KyprisDataColumn Appr2_Status = new KyprisDataColumn("Appr2_Status", "appr2_status");
                public KyprisDataColumn Appr2_Date = new KyprisDataColumn("Appr2_Date", "appr2_date");

                public KyprisDataColumn Appr3_InternalID = new KyprisDataColumn("Appr3_InternalID", "appr3_internal_id");
                public KyprisDataColumn Appr3_DisplayName = new KyprisDataColumn("Appr3_DisplayName", "appr3_display_name");
                public KyprisDataColumn Appr3_Status = new KyprisDataColumn("Appr3_Status", "appr3_status");
                public KyprisDataColumn Appr3_Date = new KyprisDataColumn("Appr3_Date", "appr3_date");

                public KyprisDataColumn Appr4_InternalID = new KyprisDataColumn("Appr4_InternalID", "appr4_internal_id");
                public KyprisDataColumn Appr4_DisplayName = new KyprisDataColumn("Appr4_DisplayName", "appr4_display_name");
                public KyprisDataColumn Appr4_Status = new KyprisDataColumn("Appr4_Status", "appr4_status");
                public KyprisDataColumn Appr4_Date = new KyprisDataColumn("Appr4_Date", "appr4_date");

                public KyprisDataColumn Appr5_InternalID = new KyprisDataColumn("Appr5_InternalID", "appr5_internal_id");
                public KyprisDataColumn Appr5_DisplayName = new KyprisDataColumn("Appr5_DisplayName", "appr5_display_name");
                public KyprisDataColumn Appr5_Status = new KyprisDataColumn("Appr5_Status", "appr5_status");
                public KyprisDataColumn Appr5_Date = new KyprisDataColumn("Appr5_Date", "appr5_date");

                public KyprisDataColumn Appr6_InternalID = new KyprisDataColumn("Appr6_InternalID", "appr6_internal_id");
                public KyprisDataColumn Appr6_DisplayName = new KyprisDataColumn("Appr6_DisplayName", "appr6_display_name");
                public KyprisDataColumn Appr6_Status = new KyprisDataColumn("Appr6_Status", "appr6_status");
                public KyprisDataColumn Appr6_Date = new KyprisDataColumn("Appr6_Date", "appr6_date");

                public KyprisDataColumn Appr7_InternalID = new KyprisDataColumn("Appr7_InternalID", "appr7_internal_id");
                public KyprisDataColumn Appr7_DisplayName = new KyprisDataColumn("Appr7_DisplayName", "appr7_display_name");
                public KyprisDataColumn Appr7_Status = new KyprisDataColumn("Appr7_Status", "appr7_status");
                public KyprisDataColumn Appr7_Date = new KyprisDataColumn("Appr7_Date", "appr7_date");

                public KyprisDataColumn Authorizer_InternalID = new KyprisDataColumn("Authorizer_InternalID", "authorizer_internal_id");
                public KyprisDataColumn Authorizer_DisplayName = new KyprisDataColumn("Authorizer_DisplayName", "authorizer_display_name");
                public KyprisDataColumn Authorizer_Status = new KyprisDataColumn("Authorizer_Status", "authorizer_status");
                public KyprisDataColumn Authorizer_Date = new KyprisDataColumn("Authorizer_Date", "authorizer_date");

                public KyprisDataColumn fa_InternalID = new KyprisDataColumn("fa_InternalID", "fa_internal_id");
                public KyprisDataColumn fa_DisplayName = new KyprisDataColumn("fa_DisplayName", "fa_display_name");
                public KyprisDataColumn fa_Status = new KyprisDataColumn("fa_Status", "fa_status");
                public KyprisDataColumn fa_Date = new KyprisDataColumn("fa_Date", "fa_date");

                public KyprisDataColumn fv_InternalID = new KyprisDataColumn("fv_InternalID", "fv_internal_id");
                public KyprisDataColumn fv_DisplayName = new KyprisDataColumn("fv_DisplayName", "fv_display_name");
                public KyprisDataColumn fv_Status = new KyprisDataColumn("fv_Status", "fv_status");
                public KyprisDataColumn fv_Date = new KyprisDataColumn("fv_Date", "fv_date");

                public TableClaimAction(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            //Added by mei chze on 18072012
            #region TableMasterFile
            public class TableClaimChangeStatus : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "Change_claimid");
                public KyprisDataColumn ChangeRemark = new KyprisDataColumn("Change Remark", "Change_Remark");
                public KyprisDataColumn ChangeOriginalStatus = new KyprisDataColumn("Change Origin Status", "Change_OriginStatus");
                public KyprisDataColumn ChangeToStatus = new KyprisDataColumn("Change To Status", "Change_ToStatus");
                public KyprisDataColumn ChangeDate = new KyprisDataColumn("Change Date", "Change_Date");
                public KyprisDataColumn ChangeBy = new KyprisDataColumn("Change By", "Change_By");

                public TableClaimChangeStatus(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #endregion
        }

        public class ViewsCollection
        {
            #region Declaration

            public ViewMasterUsers MasterUsers = new ViewMasterUsers("Master Users", "vw_MasterUsers");
            public ViewMasterUsers MasterUsersEmail = new ViewMasterUsers("Master Users Email", "vw_MasterUsersEmail");
            public ViewMasterAdmins MasterAdmins = new ViewMasterAdmins("Master Admins", "vw_MasterAdmins");
            public ViewMasterFinanceAdmin MasterFinanceAdmins = new ViewMasterFinanceAdmin("Master Finance Admins", "vw_MasterFinanceAdmin");
            public ViewMasterClaimType MasterClaimType = new ViewMasterClaimType("Master Claim Type", "vw_MasterClaimType");
            public ViewMasterCompany MasterCompany = new ViewMasterCompany("Master Company", "vw_MasterCompany");
            public ViewMasterLanguages MasterLanguages = new ViewMasterLanguages("Master Languages", "vw_MasterLanguages");
            public ViewClaimHeaders OpClaimHeaders = new ViewClaimHeaders("Operation Claim Headers", "vw_OP_ClaimHeader");
            public ViewMasterCurrency MasterDistinctCurrency = new ViewMasterCurrency("Master Distnct Currency", "vw_MasterCurrency");
            public ViewFinanceApproverRemarks FinanceApproverRemarks = new ViewFinanceApproverRemarks("Finance Approver Remarks", "vw_FinanceApproverRemarks");
            public ViewActionHistory ActionHistory = new ViewActionHistory("Action History", "vw_ActionHistory");
            public ViewErrorHistory ErrorHistory = new ViewErrorHistory("Error History", "vw_ErrorHistory");
            public ViewGeneralActionHistory GeneralActionHistory = new ViewGeneralActionHistory("General Action History", "vw_GeneralActionHistory");
            public ViewMasterFiles MasterFiles = new ViewMasterFiles("Master Files", "vw_MasterFiles");
            public ViewCreditCardReport CreditCardReport = new ViewCreditCardReport("Credit Card Overview", "vw_CreditCardReport");
            //added by agnes[31march2009] - for enhancement
            public ViewOpCCActual OpCCActual = new ViewOpCCActual("OP_CC_Actual", "vw_Op_cc_actual");
            public ViewClaimTpyeLimit ClaimTypeLimit = new ViewClaimTpyeLimit("vw_ExceptionalClaimtypeLimit", "vw_ExceptionalClaimTypeLimit");
            public ViewGeneralReports GeneralReportsDetail = new ViewGeneralReports("General Report Detail", "vw_general_report_detail");
            public ViewGeneralReports GeneralReportsSummary = new ViewGeneralReports("General Report Summary", "vw_general_report_summary");
            //Added by Geok Wiew [26 Aug 2011] new report 
            public ViewGeneralReportsV2 GeneralReportsDetailApprover = new ViewGeneralReportsV2("General Report Detail Approver", "vw_general_report_detail_approver");
            public ViewGeneralReportsV2 GeneralReportsSummaryApprover = new ViewGeneralReportsV2("General Report Summary Approver", "vw_general_report_summary_approver");


            //added by mei chze on 18072012
            public ViewMasterChangeClaimStatus MasterChangeClaimStatus = new ViewMasterChangeClaimStatus("Master Change Claim Status", "vw_MasterChangeClaimStatus");
            public ViewMastermasterexceptionalapprmatrix vwmasterexceptionalapprmatrix = new ViewMastermasterexceptionalapprmatrix("Vw master exceptional apprmatrix", "vw_masterexceptionalapprmatrix");
            
            
            #endregion

            #region Views

            #region ViewMasterUsers
            public class ViewMasterUsers : Kypris2DataStructure.TablesStructure.MasterUsers
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Language = new KyprisDataColumn("Language", "user_language");
                public KyprisDataColumn DateFormat = new KyprisDataColumn("Date Format", "user_dateformat");
                public KyprisDataColumn ApprovalStopBit = new KyprisDataColumn("Approval Stop Bit", "user_appr_stopbit");
                public KyprisDataColumn Approver = new KyprisDataColumn("Approver", "user_appr");
                public KyprisDataColumn ApproverRouting = new KyprisDataColumn("Approver Routing", "user_appr_routing");
                public KyprisDataColumn ActiveDirectoryDisngushedName = new KyprisDataColumn("ActiveDirectory Disngushed Name", "user_addistinguishedname");
                public KyprisDataColumn JobTitle = new KyprisDataColumn("Job Title", "user_title");
                public KyprisDataColumn GreetingText = new KyprisDataColumn("Greeting Text", "user_greeting");
                public KyprisDataColumn DefaultCurrency = new KyprisDataColumn("Default Currency", "user_default_currency");
                public KyprisDataColumn OnBehalfReview = new KyprisDataColumn("On Behalf Review", "user_onbehalf_review");

                public KyprisDataColumn LanguageName = new KyprisDataColumn("Language Name", "language_name");                

                public KyprisDataColumn CompanyCode = new KyprisDataColumn("Company Code", "company_id");
                public KyprisDataColumn CompanyName = new KyprisDataColumn("Company Name", "company_name");
                public KyprisDataColumn CompanyBranch = new KyprisDataColumn("Company Branch", ".company_branch");
                public KyprisDataColumn CompanyBranchName = new KyprisDataColumn("Branch Name", "branch_name");
                public KyprisDataColumn CompanyManager = new KyprisDataColumn("Company Manager", "company_Mgr");
                public KyprisDataColumn CompanyCountry = new KyprisDataColumn("Company Country", "company_country");
                public KyprisDataColumn CompanyCountryName = new KyprisDataColumn("Company Is Representative", "country_name");
                public KyprisDataColumn CompanyCountryTax = new KyprisDataColumn("Tax", "country_tax");
                public KyprisDataColumn CompanyIsRepresentative = new KyprisDataColumn("Company Is Representative", "company_is_rep");
                public KyprisDataColumn CompanyEntity = new KyprisDataColumn("Entity", "company_entity");
                public KyprisDataColumn CompanyUsingVAT = new KyprisDataColumn("UsingVAT", "company_use_vat");

                public KyprisDataColumn DirectApprover = new KyprisDataColumn("Direct Approver", "DirectApprover");
                public KyprisDataColumn IsApprover = new KyprisDataColumn("Is Approver", "IsApprover");
                public KyprisDataColumn IsAuthorizer = new KyprisDataColumn("Is Authorizer", "IsAuthorizer");
                public KyprisDataColumn IsFI = new KyprisDataColumn("Is FI", "IsFI");
                public KyprisDataColumn IsFinanceApprover = new KyprisDataColumn("Is Finance Approver", "IsFinanceApprover");

                public KyprisDataColumn WeeklyLimit = new KyprisDataColumn("Weekly Limit", "user_weeklylimit");
                public KyprisDataColumn CreditCardNo = new KyprisDataColumn("Credit Card No", "user_creditcard");
                public KyprisDataColumn OnBehalf = new KyprisDataColumn("On Behalf", "user_onbehalf");

                public KyprisDataColumn NoApproverRequired = new KyprisDataColumn("No Approver Required", "user_no_appr");
                public KyprisDataColumn NoAuthorizerRequired = new KyprisDataColumn("No Authorizer Required", "user_no_auth");
                public KyprisDataColumn UserLDAP = new KyprisDataColumn("User LDAP", "user_ldap");

                public KyprisDataColumn ExpiryDate = new KyprisDataColumn("ExpiryDate", "company_expirydate");

                public ViewMasterUsers(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMasterAdmins
            public class ViewMasterAdmins : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn CompanyName = new KyprisDataColumn("Company Name", "company_name");
                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn DisplayName = new KyprisDataColumn("Display Name", "user_displayname");
                public KyprisDataColumn LoginID = new KyprisDataColumn("Login ID", "user_login");
                public KyprisDataColumn Email = new KyprisDataColumn("Email", "user_email");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "user_emailid");
                public KyprisDataColumn Company = new KyprisDataColumn("Company", "user_company");

                public KyprisDataColumn IsITAdmin = new KyprisDataColumn("Is IT Admin", "is_itadmin");
                public KyprisDataColumn IsPowerAdmin = new KyprisDataColumn("Is Power User", "is_poweradmin");                

                public ViewMasterAdmins(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMasterFinanceAdmin
            public class ViewMasterFinanceAdmin : GonzalesDataStructure.TablesCollection.TableMasterCompanyFI
            {

                public KyprisDataColumn Entity = new KyprisDataColumn("Entity", "company_entity");
                public KyprisDataColumn EntityName = new KyprisDataColumn("Entity Name", "entity_name");
 
                public ViewMasterFinanceAdmin(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMasterClaimType
            public class ViewMasterClaimType : Kypris2DataStructure.TablesStructure.MasterClaimTypes
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Language = new KyprisDataColumn("Language", "claimtype_language");
                public KyprisDataColumn DisplayInLang = new KyprisDataColumn("Display In Language", "DisplayInLang");                

                public ViewMasterClaimType(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMasterCompany
            public class ViewMasterCompany : Kypris2DataStructure.TablesStructure.MasterCompany
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn ManagerEmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn ManagerDisplayName = new KyprisDataColumn("Display Name", "user_displayname");
                public KyprisDataColumn ManagerActiveDirectoryDistingushedName = new KyprisDataColumn("Manager Active Directory Distingushed Name", "user_addistinguishedname");
                public KyprisDataColumn ManagerLoginID = new KyprisDataColumn("Manager Login ID", "user_login");
                public KyprisDataColumn ManagerEmail = new KyprisDataColumn("Manager Email", "user_email");
                public KyprisDataColumn ManagerEmailID = new KyprisDataColumn("Manager Email ID", "user_emailid");
                public KyprisDataColumn Entity = new KyprisDataColumn("Entity", "company_entity");
                public KyprisDataColumn EntityName = new KyprisDataColumn("Entity Name", "entity_name");
                public KyprisDataColumn CountryName = new KyprisDataColumn("Country Name", "country_name");
                public KyprisDataColumn CreditCardPaymentType = new KyprisDataColumn("Credit Card Payment Type", "company_cc_payment");
                public KyprisDataColumn MileageRate = new KyprisDataColumn("Mileage Rate", "company_mileage_rate");
                public KyprisDataColumn PettyCashLimit = new KyprisDataColumn("Petty Cash Limit", "company_pettycash_limit");
                public KyprisDataColumn DefaultLDAP = new KyprisDataColumn("Default LDAP", "company_default_ldap");
                public KyprisDataColumn CCCutOffDay = new KyprisDataColumn("CCCutOffDay", "company_cc_cutoffon");
                public KyprisDataColumn CCActivateDay = new KyprisDataColumn("CCActivateDay", "company_cc_activateon");
                public KyprisDataColumn UsingVAT = new KyprisDataColumn("UsingVAT", "company_use_vat");

                public KyprisDataColumn ExpiryDate = new KyprisDataColumn("ExpiryDate", "company_expiryDate");

                //added by agnes [31march2009] - for enhancement
                public KyprisDataColumn CreditCardReminder = new KyprisDataColumn("CreditCardReminder", "company_creditcardreminder");
                public KyprisDataColumn ClaimReminder = new KyprisDataColumn("ClaimReminder", "company_claimreminder");



                public ViewMasterCompany(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMasterLanguages
            public class ViewMasterLanguages : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn LanguageID = new KyprisDataColumn("Language ID", "language_id");
                public KyprisDataColumn LanguageName = new KyprisDataColumn("Name", "language_name");
                public KyprisDataColumn Order = new KyprisDataColumn("Order", "language_order");
                public KyprisDataColumn State = new KyprisDataColumn("State", "language_state");
                
                public ViewMasterLanguages(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region ViewMasterCurrency
            public class ViewMasterCurrency : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn CurrencyCode = new KyprisDataColumn("Currency Code", "currency_code");
                public KyprisDataColumn Order = new KyprisDataColumn("Order", "common_order");
                public KyprisDataColumn State = new KyprisDataColumn("State", "common_state"); 
                
                public ViewMasterCurrency(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewClaimHeaders
            public class ViewClaimHeaders : Kypris2DataStructure.TablesStructure.ClaimHeader
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn TotalLocalAmountAlreadyPaid = new KyprisDataColumn("Total Local Amount Already Paid", "claim_amount_paid");
                public KyprisDataColumn TotalLocalAmountLeft = new KyprisDataColumn("Ttaol Local Amount Left", "claim_amount_left");

                public KyprisDataColumn ProcessedBy = new KyprisDataColumn("ProcessedBy", "claim_processedby");                

                public KyprisDataColumn PaidOn = new KyprisDataColumn("Paid On", "claim_paid");
                public KyprisDataColumn ClaimantName = new KyprisDataColumn("Claimant Name", "ClaimantName");
                public KyprisDataColumn ClaimantEmail = new KyprisDataColumn("Claimant Email", "ClaimantEmail");
                public KyprisDataColumn ClaimantEmailID = new KyprisDataColumn("Claimant Email ID", "user_emailid");
                public KyprisDataColumn ClaimantEmployeeID = new KyprisDataColumn("Claimant Employee ID", "user_employeeid");
                public KyprisDataColumn ClaimantCostCenter = new KyprisDataColumn("Claimant Cost Center", "user_profit_center");
                public KyprisDataColumn CompanyName = new KyprisDataColumn("Company Name", "company_name");
                public KyprisDataColumn LastUpdatedByPersonnel = new KyprisDataColumn("Last Updated By Personnel", "LastUpdatedByPersonnel");
                public KyprisDataColumn ApprovedByPersonnel = new KyprisDataColumn("Approved By Personnel", "ApprovedByPersonnel");
                public KyprisDataColumn RejectedByPersonnel = new KyprisDataColumn("Rejected By Personnel", "RejectedByPersonnel");
                public KyprisDataColumn ProcessedByPersonnel = new KyprisDataColumn("Processed By Personnel", "ProcessedByPersonnel");
                public KyprisDataColumn NextAuthorizer = new KyprisDataColumn("Next Authorizer", "claim_next_authorizer");
                public KyprisDataColumn NextFinanceApproval = new KyprisDataColumn("Next Finance Aapproval", "claim_next_finance_approval");
                public KyprisDataColumn AuthorizedOn = new KyprisDataColumn("Authorized On", "claim_authorized");
                public KyprisDataColumn FinanceApprovedOn = new KyprisDataColumn("Finance Approved On", "claim_finance_approved");
                public KyprisDataColumn OnHoldOn = new KyprisDataColumn("On Hold On", "claim_onhold");
                public KyprisDataColumn AuthorizedBy = new KyprisDataColumn("Authorized By", "claim_authorizedby");
                public KyprisDataColumn FinanceApprovedBy = new KyprisDataColumn("Finance Approved By", "claim_finance_approvedby");
                public KyprisDataColumn OnHoldBy = new KyprisDataColumn("On Hold By", "claim_onholdby");
                public KyprisDataColumn AuthorizedByPersonnel = new KyprisDataColumn("Authorized By Personnel", "AuthorizedByPersonnel");
                public KyprisDataColumn FinanceApprovedByPersonnel = new KyprisDataColumn("Finance Approved By Personnel", "FinanceApprovedByPersonnel");
                public KyprisDataColumn OnHoldByPersonnel = new KyprisDataColumn("On Hold By Personnel", "OnHoldByPersonnel");
                public KyprisDataColumn LocalCurrency = new KyprisDataColumn("Local Currency", "claim_currency");
                
                public KyprisDataColumn ChequeNo = new KyprisDataColumn("Cheque No", "claim_chequeno");
                public KyprisDataColumn IssuedBank = new KyprisDataColumn("Issued Bank", "claim_chequebank");

                public KyprisDataColumn DefaultCountry = new KyprisDataColumn("Default Country", "claim_default_country");
                public KyprisDataColumn DefaultCurrency = new KyprisDataColumn("Default Currency", "claim_default_currency");
                public KyprisDataColumn DefaultExchangeRate = new KyprisDataColumn("Default Exchange Rate", "claim_default_ex");
                
                //added by agnes [ 31 march 2009] - for enhancement
                public KyprisDataColumn NextApproverEmail = new KyprisDataColumn("Next Approver Email", "ApproverEmail");
                public KyprisDataColumn OnBehalfReview = new KyprisDataColumn("User On Behalf Review", "OnBehalfEmail");

                public ViewClaimHeaders(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewFinanceApproverRemarks
            public class ViewFinanceApproverRemarks : GonzalesDataStructure.TablesCollection.TableFinanceApproverRemarks
            {

                public KyprisDataColumn FAEmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn FAEmployeeDisplayName = new KyprisDataColumn("Employee Name", "user_displayname");
                public KyprisDataColumn FAEmail = new KyprisDataColumn("Email", "user_email");


                public ViewFinanceApproverRemarks(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewActionHistory
            public class ViewActionHistory : GonzalesDataStructure.TablesCollection.TableActionHistory
            {

                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn EmployeeDisplayName = new KyprisDataColumn("Employee Name", "user_displayname");
                public KyprisDataColumn Email = new KyprisDataColumn("Email", "user_email");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "user_emailid");
                public KyprisDataColumn LoginID = new KyprisDataColumn("Login ID", "user_login");


                public ViewActionHistory(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewErrorHistory
            public class ViewErrorHistory : GonzalesDataStructure.TablesCollection.TableLogError
            {

                public KyprisDataColumn EmployeeInternalID = new KyprisDataColumn("Employee Internal ID", "EmployeeInternalID");
                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn EmployeeDisplayName = new KyprisDataColumn("Employee Name", "user_displayname");
                public KyprisDataColumn Email = new KyprisDataColumn("Email", "user_email");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "user_emailid");
                public KyprisDataColumn LoginID = new KyprisDataColumn("Login ID", "user_login");


                public ViewErrorHistory(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewGeneralActionHistory
            public class ViewGeneralActionHistory : GonzalesDataStructure.TablesCollection.TableLogActions
            {

                public KyprisDataColumn EmployeeInternalID = new KyprisDataColumn("Employee Internal ID", "EmployeeInternalID");
                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn EmployeeDisplayName = new KyprisDataColumn("Employee Name", "user_displayname");
                public KyprisDataColumn Email = new KyprisDataColumn("Email", "user_email");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "user_emailid");
                public KyprisDataColumn LoginID = new KyprisDataColumn("Login ID", "user_login");


                public ViewGeneralActionHistory(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMasterCategory
            public class ViewMasterCategory : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn CategoryID = new KyprisDataColumn("Category ID", "common_id");
                public KyprisDataColumn CategoryName = new KyprisDataColumn("Name", "common_name");
                public KyprisDataColumn Order = new KyprisDataColumn("Order", "common_order");
                public KyprisDataColumn State = new KyprisDataColumn("State", "common_state");

                public ViewMasterCategory(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region ViewMasterFiles
            public class ViewMasterFiles : GonzalesDataStructure.TablesCollection.TableMasterFile
            {
                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn EmployeeDisplayName = new KyprisDataColumn("Employee Name", "user_displayname");
                public KyprisDataColumn Email = new KyprisDataColumn("Email", "user_email");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "user_emailid");
                public KyprisDataColumn LoginID = new KyprisDataColumn("Login ID", "user_login");

                public ViewMasterFiles(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region ViewCreditCardReport
            public class ViewCreditCardReport : GonzalesDataStructure.TablesCollection.TableCreditCardActual
            {
                public KyprisDataColumn CompanyInternalID = new KyprisDataColumn("Company Internal ID", "CompanyInternalID");

                public ViewCreditCardReport(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region ViewOpCCActual
            public class ViewOpCCActual : GonzalesDataStructure.TablesCollection.TableCreditCardActual
            {
                public KyprisDataColumn CompanyInternalID = new KyprisDataColumn("Company Internal ID", "user_company");
                public KyprisDataColumn Selected = new KyprisDataColumn("Selected", "trans_selected");

                public ViewOpCCActual(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region ViewClaimTpyeLimit
            public class ViewClaimTpyeLimit : GonzalesDataStructure.TablesCollection.TableMasterClaimTypesLimit
            {
                public KyprisDataColumn Company = new KyprisDataColumn("Company Internal ID", "user_company");
                public KyprisDataColumn EmployeeName = new KyprisDataColumn("Employee Name", "Employee Name");
                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "Employee ID");
                public KyprisDataColumn ExpenseType = new KyprisDataColumn("Expense Type", "Expense Type");
                public KyprisDataColumn ExpenseCode = new KyprisDataColumn("Expense Code", "GL");

                public ViewClaimTpyeLimit(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion            

            #region ViewGeneralReports
            public class ViewGeneralReports : Kypris2DataStructure.TablesStructure.ClaimHeader
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }
                public KyprisDataColumn CompanyID = new KyprisDataColumn("Company ID", "claim_company");
                public KyprisDataColumn ClaimantName = new KyprisDataColumn("Claimant Name", "ClaimantName");
                public KyprisDataColumn ClaimantEmployeeID = new KyprisDataColumn("Claimant Employee ID", "user_employeeid");
                public KyprisDataColumn ClaimantCostCenter = new KyprisDataColumn("Claimant Cost Center", "detail_profitcenter");
                public KyprisDataColumn LocalCurrency = new KyprisDataColumn("Local Currency", "claim_currency");
                public KyprisDataColumn Remarks = new KyprisDataColumn("Remarks", "detail_remarks");
                public KyprisDataColumn ClaimTypeDescription = new KyprisDataColumn("Claim Type Description", "claimtype_desc");
                public KyprisDataColumn DetailDescription = new KyprisDataColumn("Detail Description", "detail_description");
                public KyprisDataColumn ProjectID = new KyprisDataColumn("Detail Project ID", "detail_projectid");
                public KyprisDataColumn DetailAmountClaimed = new KyprisDataColumn("Detail Amount Claimed", "detail_amt_claimed");
                public KyprisDataColumn DetailTax = new KyprisDataColumn("Detail Tax", "detail_tax");
                public KyprisDataColumn DetailExRate = new KyprisDataColumn("Detail Ex. Rate", "detail_ex_rate");
                public KyprisDataColumn DetailEx = new KyprisDataColumn("Detail Ex", "detail_ex");
                public KyprisDataColumn DetailAmountOut = new KyprisDataColumn("Detail Amount Out", "detail_amt_out");
                public KyprisDataColumn DetailAmountOutCur = new KyprisDataColumn("Detail Amount Out Currency", "detail_amt_out_cur");
                public KyprisDataColumn DetailAmountFinal = new KyprisDataColumn("Detail Amount Final", "detail_amt_final");


                public ViewGeneralReports(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            //Added by Geok Wiew on [26 Aug 2011]
            #region ViewGeneralReportsV2
            public class ViewGeneralReportsV2 : Kypris2DataStructure.TablesStructure.ClaimHeader
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }
                public KyprisDataColumn CompanyID = new KyprisDataColumn("Company ID", "claim_company");
                public KyprisDataColumn ClaimantName = new KyprisDataColumn("Claimant Name", "ClaimantName");
                public KyprisDataColumn ClaimantEmployeeID = new KyprisDataColumn("Claimant Employee ID", "user_employeeid");
                public KyprisDataColumn ClaimantCostCenter = new KyprisDataColumn("Claimant Cost Center", "detail_profitcenter");
                public KyprisDataColumn LocalCurrency = new KyprisDataColumn("Local Currency", "claim_currency");
                public KyprisDataColumn Remarks = new KyprisDataColumn("Remarks", "detail_remarks");
                public KyprisDataColumn ClaimTypeDescription = new KyprisDataColumn("Claim Type Description", "claimtype_desc");
                public KyprisDataColumn DetailDescription = new KyprisDataColumn("Detail Description", "detail_description");
                public KyprisDataColumn ProjectID = new KyprisDataColumn("Detail Project ID", "detail_projectid");
                public KyprisDataColumn DetailAmountClaimed = new KyprisDataColumn("Detail Amount Claimed", "detail_amt_claimed");
                public KyprisDataColumn DetailTax = new KyprisDataColumn("Detail Tax", "detail_tax");
                public KyprisDataColumn DetailExRate = new KyprisDataColumn("Detail Ex. Rate", "detail_ex_rate");
                public KyprisDataColumn DetailEx = new KyprisDataColumn("Detail Ex", "detail_ex");
                public KyprisDataColumn DetailAmountOut = new KyprisDataColumn("Detail Amount Out", "detail_amt_out");
                public KyprisDataColumn DetailAmountOutCur = new KyprisDataColumn("Detail Amount Out Currency", "detail_amt_out_cur");
                public KyprisDataColumn DetailAmountFinal = new KyprisDataColumn("Detail Amount Final", "detail_amt_final");

                public KyprisDataColumn Approver1InternalID = new KyprisDataColumn("Approver1 InternalID", "appr1_internal_id");
                public KyprisDataColumn Approver1DisplayName = new KyprisDataColumn("Approver1 Display Name", "appr1_display_name");
                public KyprisDataColumn Approver1Status = new KyprisDataColumn("Approver1 Status", "appr1_status");
                public KyprisDataColumn Approver1Date = new KyprisDataColumn("Approver1 Date", "appr1_date");

                public KyprisDataColumn Approver2InternalID = new KyprisDataColumn("Approver2 InternalID", "appr2_internal_id");
                public KyprisDataColumn Approver2DisplayName = new KyprisDataColumn("Approver2 Display Name", "appr2_display_name");
                public KyprisDataColumn Approver2Status = new KyprisDataColumn("Approver2 Status", "appr2_status");
                public KyprisDataColumn Approver2Date = new KyprisDataColumn("Approver2 Date", "appr2_date");

                public KyprisDataColumn Approver3InternalID = new KyprisDataColumn("Approver3 InternalID", "appr3_internal_id");
                public KyprisDataColumn Approver3DisplayName = new KyprisDataColumn("Approver3 Display Name", "appr3_display_name");
                public KyprisDataColumn Approver3Status = new KyprisDataColumn("Approver3 Status", "appr3_status");
                public KyprisDataColumn Approver3Date = new KyprisDataColumn("Approver3 Date", "appr3_date");

                public KyprisDataColumn Approver4InternalID = new KyprisDataColumn("Approver4 InternalID", "appr4_internal_id");
                public KyprisDataColumn Approver4DisplayName = new KyprisDataColumn("Approver4 Display Name", "appr4_display_name");
                public KyprisDataColumn Approver4Status = new KyprisDataColumn("Approver4 Status", "appr4_status");
                public KyprisDataColumn Approver4Date = new KyprisDataColumn("Approver4 Date", "appr4_date");

                public KyprisDataColumn Approver5InternalID = new KyprisDataColumn("Approver5 InternalID", "appr5_internal_id");
                public KyprisDataColumn Approver5DisplayName = new KyprisDataColumn("Approver5 Display Name", "appr5_display_name");
                public KyprisDataColumn Approver5Status = new KyprisDataColumn("Approver5 Status", "appr5_status");
                public KyprisDataColumn Approver5Date = new KyprisDataColumn("Approver5 Date", "appr5_date");

                public KyprisDataColumn Approver6InternalID = new KyprisDataColumn("Approver6 InternalID", "appr6_internal_id");
                public KyprisDataColumn Approver6DisplayName = new KyprisDataColumn("Approver6 Display Name", "appr6_display_name");
                public KyprisDataColumn Approver6Status = new KyprisDataColumn("Approver6 Status", "appr6_status");
                public KyprisDataColumn Approver6Date = new KyprisDataColumn("Approver6 Date", "appr6_date");

                public KyprisDataColumn Approver7InternalID = new KyprisDataColumn("Approver7 InternalID", "appr7_internal_id");
                public KyprisDataColumn Approver7DisplayName = new KyprisDataColumn("Approver7 Display Name", "appr7_display_name");
                public KyprisDataColumn Approver7Status = new KyprisDataColumn("Approver7 Status", "appr7_status");
                public KyprisDataColumn Approver7Date = new KyprisDataColumn("Approver7 Date", "appr7_date");
                
                public KyprisDataColumn AuthorizerInternalID = new KyprisDataColumn("Authorizer Date", "authorizer_internal_id");
                public KyprisDataColumn AuthorizerDisplayName = new KyprisDataColumn("Authorizer Display Name", "authorizer_display_name");
                public KyprisDataColumn AuthorizerStatus = new KyprisDataColumn("Authorizer Status", "authorizer_status");
                public KyprisDataColumn AuthorizerDate = new KyprisDataColumn("Authorizer Date", "authorizer_Date");

                public KyprisDataColumn FAInternalID = new KyprisDataColumn("FA Date", "fa_internal_id");
                public KyprisDataColumn FADisplayName = new KyprisDataColumn("FA Display Name", "fa_display_name");
                public KyprisDataColumn FAStatus = new KyprisDataColumn("FA Status", "fa_status");
                public KyprisDataColumn FADate = new KyprisDataColumn("FA Date", "fa_Date");

                public KyprisDataColumn FVInternalID = new KyprisDataColumn("FV Date", "fv_internal_id");
                public KyprisDataColumn FVDisplayName = new KyprisDataColumn("FV Display Name", "fv_display_name");
                public KyprisDataColumn FVStatus = new KyprisDataColumn("FV Status", "fv_status");
                public KyprisDataColumn FVDate = new KyprisDataColumn("FV Date", "fv_Date");

                public ViewGeneralReportsV2(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            //added by mei chze on 18072012
            #region ViewMasterChangeClaimStatus
            public class ViewMasterChangeClaimStatus : TablesCollection.TableClaimChangeStatus.DataColumn  
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }
                public KyprisDataColumn DisplayName = new KyprisDataColumn("Displayname", "user_displayname");


                public ViewMasterChangeClaimStatus(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region ViewMastermasterexceptionalapprmatrix
            public class ViewMastermasterexceptionalapprmatrix : TablesCollection.TableMasterExceptionalApproverMatrix.DataColumn  
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }
                public KyprisDataColumn userCompany = new KyprisDataColumn("user Company", "user_company");
                public KyprisDataColumn AppCompany = new KyprisDataColumn("app Company", "approver_company");

                public ViewMastermasterexceptionalapprmatrix(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion
            
            #endregion

            


            
        }

        public class StoredProceduredsCollection
        {
            #region Declaration

            public StoredProceduresGetActiveClaimTypeInLangByEntity GetActiveClaimTypeInLangByEntity = new StoredProceduresGetActiveClaimTypeInLangByEntity("Stored Procedures: Get Active Claim Type In Language By Entity", "sp_GetActiveClaimTypeInLangByEntity");
            public StoredProceduresBatchUpdateExceptionalExpenseLimit BatchUpdateExceptionalExpenseLimit = new StoredProceduresBatchUpdateExceptionalExpenseLimit("Stored Procedures: Update Exceptional Claimtype Limit", "sp_BatchUpdateExceptionalClaimtypeLimit");
            public StoredProceduresGetClaimDetailInLang GetClaimDetailInLang = new StoredProceduresGetClaimDetailInLang("Stored Procedures: Get Claim Detail In Lang", "sp_GetClaimDetailInLang");
            public StoredProceduresGetClaimDetailInLangWithWeeklyLimit GetClaimDetailInLangWithWeeklyLimit = new StoredProceduresGetClaimDetailInLangWithWeeklyLimit("Stored Procedures: Get Claim Detail In Lang With Weekly Limit", "sp_GetClaimDetailInLangWithWeeklyLimit");
            public StoredProceduresSaveAsNew SaveAsNew = new StoredProceduresSaveAsNew("Stored Procedures: Save As New", "sp_SaveAsNew");
            public StoredProceduresSaveAsNewWithCreditCardTransfer SaveAsNewWithCreditCardTransfer = new StoredProceduresSaveAsNewWithCreditCardTransfer("Save As New With Credit Card Transfer", "sp_SaveAsNewWithCreditCardTransfer");
            public StoredProceduresGetLatestExchangeRateBySourceCurrency GetLatestExchangeRateBySourceCurrency = new StoredProceduresGetLatestExchangeRateBySourceCurrency("Get Latest Exchange Rate By Source Currency", "sp_GetLatestExchangeRateBySourceCurrency");
            public StoredProceduresGetNextApproverForExceptionalCase GetNextApproverForExceptionalCase = new StoredProceduresGetNextApproverForExceptionalCase("Get Next Approver For Exceptional Case", "sp_GetNextApproverForExceptionCase");
            public StoredProceduresValidateClaimTypeLimitPolicy ValidateClaimTypeLimitPolicy = new StoredProceduresValidateClaimTypeLimitPolicy("Validate Claim Type Limit Policy", "sp_ValidateClaimTypeLimitPolicy");
            public StoredProceduresGetClaimDetailInLangWithBreakdown GetClaimDetailInLangWithBreakdown = new StoredProceduresGetClaimDetailInLangWithBreakdown("Get Claim Detail In Lang With Breakdown", "sp_GetClaimDetailInLangWithBreakdown");
            public StoredProceduresGetAvailableCreditCardItems GetAvailableCreditCardItems = new StoredProceduresGetAvailableCreditCardItems("Get Available Credit Card Items", "sp_GetAvailableCreditCardItems");
            public StoredProceduresClearCreditCardItems ClearCreditCardItems = new StoredProceduresClearCreditCardItems("Clear Credit Card Items", "sp_ClearCreditCardItems");
            public StoredProceduresGetAuthorizerByEntity GetAuthorizerByEntity = new StoredProceduresGetAuthorizerByEntity("Get Authorizer By Entity", "sp_GetAuthorizersByEntity");
            public StoredProceduresGetAuthorizerByID GetAuthorizerByID = new StoredProceduresGetAuthorizerByID("Get Authorizer By ID", "sp_GetAuthorizersByID");
            public StoredProceduresGetListOfExceptionalApproversByClaimant GetListOfExceptionalApproversByClaimant = new StoredProceduresGetListOfExceptionalApproversByClaimant("Get List Of Exceptional Approvers By Claimant", "sp_GetListOfExceptionalApproversByClaimant");
            public StoredProceduresGetExchangeRateByTargetCurrency GetExchangeRateByTargetCurrency = new StoredProceduresGetExchangeRateByTargetCurrency("Get Exchange Rate By Target Currency", "sp_GetEchangeRateByTargetCurrency");
            public StoredProceduresGetClaimTypeLimitInLangByClaimantID GetClaimTypeLimitInLangByClaimantID = new StoredProceduresGetClaimTypeLimitInLangByClaimantID("Get Claim Type Limit In Lang By ClaimantID", "sp_GetClaimTypeLimitInLangByClaimantID");
            public StoredProceduresGetFinanceAdminByCompany GetFinanceAdminByCompany = new StoredProceduresGetFinanceAdminByCompany("Get Finance Admin By Company", "sp_GetFinanceAdminByCompany");
            public StoredProceduresGetFinanceApproversByCompany GetFinanceApproversByCompany = new StoredProceduresGetFinanceApproversByCompany("Get Finance Approvers By Company", "sp_GetListOfFinanceApproversByCompany");
            public StoredProceduresGetClaimsByFinanceAdmin GetClaimsByFinanceAdmin = new StoredProceduresGetClaimsByFinanceAdmin("Get Claims By Finance Admin", "sp_GetClaimsByFinanceAdmin");
            public StoredProceduresUploadNewFile UploadNewFile = new StoredProceduresUploadNewFile("Upload New File", "sp_UploadNewFile");
            public StoredProceduresGetClaimsByFinanceApprover GetClaimsByFinanceApprover = new StoredProceduresGetClaimsByFinanceApprover("Get Claims By Finance Approver", "sp_GetClaimsByFinanceApprover");
            public StoredProceduresGetSimpleClaimDetailWithWeeklyLimit GetSimpleClaimDetailWithWeeklyLimit = new StoredProceduresGetSimpleClaimDetailWithWeeklyLimit("Get Simple Claim Detail With Weekly Limit", "sp_GetSimpleClaimDetailWithWeeklyLimit");
            public StoredProceduresGetSimpleClaimDetailWithActualExchangeRate GetSimpleClaimDetailWithActualExchangeRate = new StoredProceduresGetSimpleClaimDetailWithActualExchangeRate("Get Simple Claim Detail With Actual Exchange Rate", "sp_GetSimpleClaimDetailWithActualExchangeRate");
            public StoredProceduresGetFinancePersonnelRemarks GetFinancePersonnelRemarks = new StoredProceduresGetFinancePersonnelRemarks("Get Finance Personnel Remarks", "sp_GetFinancePersonnelRemarks");
            public StoredProceduresCreateNewClaimID CreateNewClaimID = new StoredProceduresCreateNewClaimID("Create New Claim ID", "sp_CreateNewClaimID");
            public StoredProceduresSyncExpenseDetailInLocalLanguage SyncExpenseDetailInLocalLanguage = new StoredProceduresSyncExpenseDetailInLocalLanguage("Sync Expense Detail In Local Language", "sp_SyncExpenseDetailInLocalLanguage");
            public StoredProceduresUpdateApprover UpdateApprover = new StoredProceduresUpdateApprover("Update Approver", "sp_UpdateApprove");
            public StoredProceduresUpdateClaimHeaderAmount UpdateClaimHeaderAmount = new StoredProceduresUpdateClaimHeaderAmount("Update Claim Header Amount", "sp_UpdateClaimHeaderAmount");
            public StoredProceduresDuplicateCreditCardLineItem DuplicateCreditCardLineItem = new StoredProceduresDuplicateCreditCardLineItem("Duplicate Credit Card Line Item", "sp_DuplicateCreditCardItem");

            public StoredProceduresTransferEmployee TransferEmployee = new StoredProceduresTransferEmployee("Transfer Employee", "sp_TranferEmployee");
            public StoredProceduresTransferProject TransferProject = new StoredProceduresTransferProject("Transfer Project", "sp_TransferProject");
            public StoredProceduresTransferExpenseDetail TransferExpenseDetail = new StoredProceduresTransferExpenseDetail("Transfer Expense Detail", "sp_TransferExpenseDetail");
            public StoredProceduresTransferExchangeRate TransferExchangeRate = new StoredProceduresTransferExchangeRate("Transfer Exchange Rate", "sp_TransferExchangeRate");
            public StoredProceduresTransferCreditCard TransferCreditCard = new StoredProceduresTransferCreditCard("Transfer Credit Card", "sp_TransferCreditCard");
            public StoredProceduresExceptionTransferCreditCard TransferExceptionCreditCard = new StoredProceduresExceptionTransferCreditCard("Transfer Exception Credit Card", "sp_TransferCreditCardException");

            public StoredProceduresAcrualReport AcrualReport = new StoredProceduresAcrualReport("Acrual Report", "sp_AccrualReport");
            public StoredProceduresAcrualReport AcrualSummaryReport = new StoredProceduresAcrualReport("Acrual Report Summary", "sp_AccrualReportSummary");
            //Added by Agnes[09Dec2008] - for China enhancement
            public StoredProceduresChinaAcrualReport ChinaAcrualReport = new StoredProceduresChinaAcrualReport("China Acrual Report", "sp_China_AccrualReport");
            public StoredProceduresGetActionHistory ActionHistory = new StoredProceduresGetActionHistory("Action History", "sp_GetActionHistory");

            //Added by mei chze on 18072012
            public StoredProceduresGetClaimHeaderByID GetClaimHeaderByID = new StoredProceduresGetClaimHeaderByID("Get Claim Header By ID", "sp_GetClaimHeaderByID");
            public StoredProceduresGetClaimHeaderByClaimByAndClaimApprover GetClaimHeaderByClaimByAndClaimApprover = new StoredProceduresGetClaimHeaderByClaimByAndClaimApprover("Ge tClaim Header By Claim By And Claim Approver", "sp_GetClaimHeaderByClaimByAndClaimApprover");

            #endregion

            #region Stored Procedures

            #region StoredProceduresGetActiveClaimTypeInLangByEntity
            public class StoredProceduresGetActiveClaimTypeInLangByEntity : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_Language = new KyprisDataColumn("Language", "@Language");
                public KyprisDataColumn Param_Entity = new KyprisDataColumn("Entity", "@Entity");
                public KyprisDataColumn Param_Category = new KyprisDataColumn("Category", "@CategoryID");                

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("Claim Type ID", "claimtype_id");
                public KyprisDataColumn ExpenseName = new KyprisDataColumn("Expense Name", "claimtype_desc");
                public KyprisDataColumn DisplayInLang = new KyprisDataColumn("Display In Language", "DisplayInLang");
                public KyprisDataColumn Category = new KyprisDataColumn("Category", "claimtype_category");
                //Added by Agnes[15march2010] - requested by covidien (china)
                public KyprisDataColumn PerDiem = new KyprisDataColumn("PerDiem", "claimtype_per_diem"); 

                public StoredProceduresGetActiveClaimTypeInLangByEntity(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {                    
                }
            }
            #endregion

            #region StoredProceduresBatchUpdateExceptionalExpenseLimit
            public class StoredProceduresBatchUpdateExceptionalExpenseLimit : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_SessionID = new KyprisDataColumn("Session ID", "@SessionID");
                public KyprisDataColumn Param_CompanyID = new KyprisDataColumn("Company ID", "@CompanyID");

                public KyprisDataColumn ResponseMessage = new KyprisDataColumn("Response Message", "ResponseMsg");


                public StoredProceduresBatchUpdateExceptionalExpenseLimit(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetClaimDetailInLang
            public class StoredProceduresGetClaimDetailInLang : GonzalesDataStructure.TablesCollection.TableClaimDetail
            {
                               
                public KyprisDataColumn Param_Language = new KyprisDataColumn("Language", "@Language");
                public KyprisDataColumn Param_ClaimID = new KyprisDataColumn("Claim ID", "@ClaimID");
       
                public KyprisDataColumn ClaimTypeDescInLang = new KyprisDataColumn("ClaimTypeDescInLang", "claimtype_desc");
                public KyprisDataColumn CountryName = new KyprisDataColumn("Country Name", "country_name");
                public KyprisDataColumn ActualExchangeRate = new KyprisDataColumn("ActualExchangeRate", "ex_rate");
                public KyprisDataColumn GLCode = new KyprisDataColumn("GL Code", "claimtype_id");

                public StoredProceduresGetClaimDetailInLang(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetClaimDetailInLangWithWeeklyLimit
            public class StoredProceduresGetClaimDetailInLangWithWeeklyLimit : GonzalesDataStructure.StoredProceduredsCollection.StoredProceduresGetClaimDetailInLang
            {

                public KyprisDataColumn Param_ClaimantID = new KyprisDataColumn("Claimant ID", "@ClaimantID");

                public KyprisDataColumn WeekInYear = new KyprisDataColumn("Week In Year", "WeekInYear");
                public KyprisDataColumn TotalSpendInWeek = new KyprisDataColumn("Total Spent In Week", "TotalSpentInWeek");                

                public StoredProceduresGetClaimDetailInLangWithWeeklyLimit(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetClaimDetailInLangWithBreakdown
            public class StoredProceduresGetClaimDetailInLangWithBreakdown : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_ClaimItemID = new KyprisDataColumn("Claim Item ID", "@ClaimItemID");
                public KyprisDataColumn Param_Language = new KyprisDataColumn("Language", "@Language");

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "detail_claim");
                public KyprisDataColumn IsPersonal = new KyprisDataColumn("Is Personal", "detail_personal");
                public KyprisDataColumn Description = new KyprisDataColumn("Description", "detail_description");
                public KyprisDataColumn AmountClaimedCurrency = new KyprisDataColumn("Aamount Claimed Currency", "detail_amt_claimed_cur");
                public KyprisDataColumn AmountClaimed = new KyprisDataColumn("Amount Claimed", "detail_amt_claimed");
                public KyprisDataColumn Remarks = new KyprisDataColumn("Remarks", "detail_remarks");
                public KyprisDataColumn ClaimDate = new KyprisDataColumn("Claim Date", "detail_date");
                public KyprisDataColumn DateEnd = new KyprisDataColumn("Date End", "detail_date_end");
                public KyprisDataColumn DailyRate = new KyprisDataColumn("Daily Rate", "detail_dailyrate");
                public KyprisDataColumn ClaimType = new KyprisDataColumn("Claim Type", "detail_claimtype");
                public KyprisDataColumn ClaimTypeDescInLang = new KyprisDataColumn("ClaimTypeDescInLang", "claimtype_desc");
                public KyprisDataColumn DetailType = new KyprisDataColumn("Type", "detail_type");

                public StoredProceduresGetClaimDetailInLangWithBreakdown(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresSaveAsNew
            public class StoredProceduresSaveAsNew : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_OldClaimID = new KyprisDataColumn("Old Claim ID", "@OldClaimID");
                public KyprisDataColumn Param_NewClaimID = new KyprisDataColumn("New Claim ID", "@NewClaimID");

                public StoredProceduresSaveAsNew(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresSaveAsNewWithCreditCardTransfer
            public class StoredProceduresSaveAsNewWithCreditCardTransfer : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_OldClaimID = new KyprisDataColumn("Old Claim ID", "@OldClaimID");
                public KyprisDataColumn Param_NewClaimID = new KyprisDataColumn("New Claim ID", "@NewClaimID");

                public StoredProceduresSaveAsNewWithCreditCardTransfer(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetLatestExchangeRateBySourceCurrency
            public class StoredProceduresGetLatestExchangeRateBySourceCurrency : Kypris2DataStructure.TablesStructure.MasterExchangeRate
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_SourceCurrency = new KyprisDataColumn("Target Currency", "@TargetCurrency");


                public StoredProceduresGetLatestExchangeRateBySourceCurrency(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetExchangeRateByTargetCurrency
            public class StoredProceduresGetExchangeRateByTargetCurrency : Kypris2DataStructure.TablesStructure.MasterExchangeRate
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_TargetCurrency = new KyprisDataColumn("Target Currency", "@Currency");
                public KyprisDataColumn Param_SpecificDate = new KyprisDataColumn("Specific Date", "@SpecificDate");


                public StoredProceduresGetExchangeRateByTargetCurrency(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetNextApproverForExceptionalCase
            public class StoredProceduresGetNextApproverForExceptionalCase : GonzalesDataStructure.ViewsCollection.ViewMasterUsers
            {
                public KyprisDataColumn Param_ActualClaimant = new KyprisDataColumn("Actual Claimant", "@ActualClaimant");
                public KyprisDataColumn Param_CurrentApprover = new KyprisDataColumn("Current Approver", "@CurrentApprover");

                public StoredProceduresGetNextApproverForExceptionalCase(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresValidateClaimTypeLimitPolicy
            public class StoredProceduresValidateClaimTypeLimitPolicy : Kypris2DataStructure.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_ClaimInternalID = new KyprisDataColumn("Claim Internal ID", "@ClaimInternalID");                

                public KyprisDataColumn ClaimDetailID = new KyprisDataColumn("Claima Detail ID", "DetailID");
                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("Claima Type ID", "claimtype_id");                
                public KyprisDataColumn CurrencyToLimit = new KyprisDataColumn("Currency to limit", "claimtype_limit_currency");
                public KyprisDataColumn AmountToLimit = new KyprisDataColumn("Amount to limit", "claimtype_limit_amount");
                public KyprisDataColumn Duration = new KyprisDataColumn("Duration", "claimtype_limit_duration");
                public KyprisDataColumn IsStrict = new KyprisDataColumn("Is Strict", "claimtype_limit_strict");
                public KyprisDataColumn LocalCurrency = new KyprisDataColumn("Local Currency", "LocalCurrency");                
                public KyprisDataColumn ExRateFigure = new KyprisDataColumn("Exchange Rate Figure", "ex_rate");                
                public KyprisDataColumn TotalClaimedInPeriod = new KyprisDataColumn("Total Claimed In Period", "TotalClaimedInPeriod");                

                public StoredProceduresValidateClaimTypeLimitPolicy(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetAvailableCreditCardItems
            public class StoredProceduresGetAvailableCreditCardItems : GonzalesDataStructure.TablesCollection.TableCreditCardActual
            {

                public KyprisDataColumn Param_EmployeeID = new KyprisDataColumn("Employee ID", "@EmployeeID");

                public KyprisDataColumn ClaimReasons = new KyprisDataColumn("Reasons", "claim_reason");
                public KyprisDataColumn ClaimCreated = new KyprisDataColumn("Date created", "claim_created");

                public StoredProceduresGetAvailableCreditCardItems(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresClearCreditCardItems
            public class StoredProceduresClearCreditCardItems : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_EmployeeID = new KyprisDataColumn("Employee ID", "@ClaimantID");

                public StoredProceduresClearCreditCardItems(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetAuthorizerByEntity
            public class StoredProceduresGetAuthorizerByEntity : GonzalesDataStructure.ViewsCollection.ViewMasterUsers
            {
                public KyprisDataColumn Param_EntityID = new KyprisDataColumn("Entity ID", "@EntityID");

                public KyprisDataColumn Level = new KyprisDataColumn("Level", "user_level");
                public KyprisDataColumn Currency = new KyprisDataColumn("Currency", "user_approve_currency");
                public KyprisDataColumn MinAmount = new KyprisDataColumn("Min Amount", "user_approve_min");
                public KyprisDataColumn MaxAmount = new KyprisDataColumn("Max Amount", "user_approve_max");
                

                public StoredProceduresGetAuthorizerByEntity(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetAuthorizerByID
            public class StoredProceduresGetAuthorizerByID : GonzalesDataStructure.ViewsCollection.ViewMasterUsers
            {
                public KyprisDataColumn Param_EntityID = new KyprisDataColumn("Entity ID", "@EntityID");
                public KyprisDataColumn Param_AuthorizerID = new KyprisDataColumn("Authorizer ID", "@AuthorizerID");

                public KyprisDataColumn Level = new KyprisDataColumn("Level", "user_level");
                public KyprisDataColumn Currency = new KyprisDataColumn("Currency", "user_approve_currency");
                public KyprisDataColumn MinAmount = new KyprisDataColumn("Min Amount", "user_approve_min");
                public KyprisDataColumn MaxAmount = new KyprisDataColumn("Max Amount", "user_approve_max");


                public StoredProceduresGetAuthorizerByID(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetListOfExceptionalApproversByClaimant
            public class StoredProceduresGetListOfExceptionalApproversByClaimant : GonzalesDataStructure.ViewsCollection.ViewMasterUsers
            {
                public KyprisDataColumn Param_ClaimantID = new KyprisDataColumn("Claimant ID", "@ClaimantID");

                public StoredProceduresGetListOfExceptionalApproversByClaimant(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetClaimTypeLimitInLangByClaimantID
            public class StoredProceduresGetClaimTypeLimitInLangByClaimantID : GonzalesDataStructure.TablesCollection.TableMasterClaimTypesLimit
            {
                public KyprisDataColumn Param_ClaimantID = new KyprisDataColumn("Claimant ID", "@ClaimantID");
                public KyprisDataColumn Param_LanguageID = new KyprisDataColumn("Language ID", "@LanguageID");

                public KyprisDataColumn InternalID = new KyprisDataColumn("Internal ID", "internal_id");
                public KyprisDataColumn Description = new KyprisDataColumn("Description", "claimtype_desc");
                public KyprisDataColumn GLCode = new KyprisDataColumn("GL Code", "GLCode");

                public StoredProceduresGetClaimTypeLimitInLangByClaimantID(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetFinanceAdminByCompany
            public class StoredProceduresGetFinanceAdminByCompany : GonzalesDataStructure.ViewsCollection.ViewMasterUsers
            {
                public KyprisDataColumn Param_CompanyID = new KyprisDataColumn("Company ID", "@CompanyID");

                public StoredProceduresGetFinanceAdminByCompany(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetFinanceApproversByCompany
            public class StoredProceduresGetFinanceApproversByCompany : GonzalesDataStructure.ViewsCollection.ViewMasterUsers
            {
                public KyprisDataColumn Param_CompanyID = new KyprisDataColumn("Company ID", "@CompanyID");
                public KyprisDataColumn Level = new KyprisDataColumn("Level", "user_level");
                public KyprisDataColumn Currency = new KyprisDataColumn("Currency", "user_approve_currency");
                public KyprisDataColumn MinAmount = new KyprisDataColumn("Min Amount", "user_approve_min");
                public KyprisDataColumn MaxAmount = new KyprisDataColumn("Max Amount", "user_approve_max");

                public StoredProceduresGetFinanceApproversByCompany(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetClaimsByFinanceAdmin
            public class StoredProceduresGetClaimsByFinanceAdmin : GonzalesDataStructure.ViewsCollection.ViewClaimHeaders
            {

                public KyprisDataColumn Param_FinanceAdminID = new KyprisDataColumn("Finance Admin ID", "@FinanceAdminID");
                
                public StoredProceduresGetClaimsByFinanceAdmin(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresUploadNewFile
            public class StoredProceduresUploadNewFile : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_ClaimID = new KyprisDataColumn("Claim ID", "@ClaimID");
                public KyprisDataColumn Param_FileName = new KyprisDataColumn("File Name", "@FileName");
                public KyprisDataColumn Param_FileContent = new KyprisDataColumn("FileContent", "@FileContent");
                public KyprisDataColumn Param_FileType = new KyprisDataColumn("FileType", "@FileType");
                public KyprisDataColumn Param_UploadedBy = new KyprisDataColumn("UploadedBy", "@UploadedBy");

                public StoredProceduresUploadNewFile(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetClaimsByFinanceApprover
            public class StoredProceduresGetClaimsByFinanceApprover : GonzalesDataStructure.ViewsCollection.ViewClaimHeaders
            {

                public KyprisDataColumn Param_FinanceApproverID = new KyprisDataColumn("Finance Approver ID", "@FinanceApproverID");

                public StoredProceduresGetClaimsByFinanceApprover(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetSimpleClaimDetailWithWeeklyLimit
            public class StoredProceduresGetSimpleClaimDetailWithWeeklyLimit : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_ClaimID = new KyprisDataColumn("Claim ID", "@ClaimID");
                public KyprisDataColumn Param_EmployeeID = new KyprisDataColumn("Employee ID", "@ClaimantID");

                public KyprisDataColumn DetailLineID = new KyprisDataColumn("Detail Line ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "detail_claim");
                public KyprisDataColumn Order = new KyprisDataColumn("Order", "detail_order");
                public KyprisDataColumn WeekInYear = new KyprisDataColumn("Week In Year", "WeekInYear");
                public KyprisDataColumn TotalSpentInWeek = new KyprisDataColumn("Total Spent In Week", "TotalSpentInWeek");
                public KyprisDataColumn AmountOut = new KyprisDataColumn("Amount Out", "detail_amt_out");

                public StoredProceduresGetSimpleClaimDetailWithWeeklyLimit(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetSimpleClaimDetailWithActualExchangeRate
            public class StoredProceduresGetSimpleClaimDetailWithActualExchangeRate : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_TargettedCurrency = new KyprisDataColumn("Targetted Currency", "@TargettedCurrency");                

                public KyprisDataColumn DetailLineID = new KyprisDataColumn("Detail Line ID", "internal_id");
                public KyprisDataColumn ExRate = new KyprisDataColumn("Exchange Rate", "ex_rate");

                public StoredProceduresGetSimpleClaimDetailWithActualExchangeRate(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetFinancePersonnelRemarks
            public class StoredProceduresGetFinancePersonnelRemarks : GonzalesDataStructure.ViewsCollection.ViewFinanceApproverRemarks
            {
                public KyprisDataColumn Param_ClaimID = new KyprisDataColumn("Claim ID", "@ClaimID");
                public KyprisDataColumn Param_FromUserID = new KyprisDataColumn("From User ID", "@FromUserID");

                public StoredProceduresGetFinancePersonnelRemarks(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresCreateNewClaimID
            public class StoredProceduresCreateNewClaimID : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_EntityID = new KyprisDataColumn("Entity ID", "@EntityID");

                public KyprisDataColumn ClaimID = new KyprisDataColumn("New Claim ID", "NewClaimID");

                public StoredProceduresCreateNewClaimID(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresUpdateApprover
            public class StoredProceduresUpdateApprover : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_ClaimantID = new KyprisDataColumn("Claimant ID", "@ClaimantID");

                public StoredProceduresUpdateApprover(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresUpdateClaimHeaderAmount
            public class StoredProceduresUpdateClaimHeaderAmount : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_ClaimHeaderID = new KyprisDataColumn("Claim Header ID", "@ClaimHeaderID");

                public StoredProceduresUpdateClaimHeaderAmount(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresTransferEmployee
            public class StoredProceduresTransferEmployee : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_EntityID = new KyprisDataColumn("Entity ID", "@EntityID");

                public StoredProceduresTransferEmployee(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresTransferProject
            public class StoredProceduresTransferProject : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public StoredProceduresTransferProject(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresTransferExpenseDetail
            public class StoredProceduresTransferExpenseDetail : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public StoredProceduresTransferExpenseDetail(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresTransferExchangeRate
            public class StoredProceduresTransferExchangeRate : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public StoredProceduresTransferExchangeRate(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresSyncExpenseDetailInLocalLanguage
            public class StoredProceduresSyncExpenseDetailInLocalLanguage : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public StoredProceduresSyncExpenseDetailInLocalLanguage(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresDuplicateCreditCardLineItem
            public class StoredProceduresDuplicateCreditCardLineItem : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_SourceID = new KyprisDataColumn("Source ID", "@SourceID");
                public KyprisDataColumn Param_NewAmount = new KyprisDataColumn("New Amount", "@NewAmount");

                public StoredProceduresDuplicateCreditCardLineItem(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresAcrualReport
            public class StoredProceduresAcrualReport : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_LanguageID = new KyprisDataColumn("Language ID", "@Language");
                public KyprisDataColumn Param_CompanyID = new KyprisDataColumn("Company ID", "@CompanyID");
                public KyprisDataColumn Param_DetailType = new KyprisDataColumn("DetailType", "@DetailType");
                public KyprisDataColumn Param_DateFrom = new KyprisDataColumn("DateFrom", "@DetailDateFrom");
                public KyprisDataColumn Param_DateTo = new KyprisDataColumn("DateTo", "@DetailDateTo");
                public KyprisDataColumn Param_Claimstatus = new KyprisDataColumn("ClaimStatus", "@ClaimStatus");

                public KyprisDataColumn InternalID = new KyprisDataColumn("Claim ID", "internal_id");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "claim_id");
                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("Claim Type ID", "claimtype_id");
                public KyprisDataColumn ClaimTypeDesc = new KyprisDataColumn("Claim Type Desc", "claimtype_id");
                public KyprisDataColumn ProfitCenter = new KyprisDataColumn("Proft Center", "detail_profitcenter");
                public KyprisDataColumn FinalAmountInLocal = new KyprisDataColumn("Final Amount In Local", "detail_amt_final");
                public KyprisDataColumn FinalAmountInUSD = new KyprisDataColumn("Final Amount In USD", "AmountInUSD");
                public KyprisDataColumn ExRate = new KyprisDataColumn("ExRate", "ex_rate");

                public StoredProceduresAcrualReport(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresTransferCreditCard
            public class StoredProceduresTransferCreditCard : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public StoredProceduresTransferCreditCard(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresExceptionTransferCreditCard
            public class StoredProceduresExceptionTransferCreditCard : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public StoredProceduresExceptionTransferCreditCard(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresAcrualReport
            //Added By Agnes[09Dec2008] - Report for China enhancement
            public class StoredProceduresChinaAcrualReport : DataStructureBase.Table
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_CompanyID = new KyprisDataColumn("Company ID", "@CompanyID");

                public KyprisDataColumn EmployeeID = new KyprisDataColumn("Employee ID", "user_employeeid");
                public KyprisDataColumn EmailID = new KyprisDataColumn("Email ID", "uesr_emailid");
                public KyprisDataColumn ProftCenter = new KyprisDataColumn("Profit Center", "user_profit_center");
                public KyprisDataColumn ClaimID = new KyprisDataColumn("Claim ID", "claim_id");
                public KyprisDataColumn Period = new KyprisDataColumn("Period", "claim_submitted");
                public KyprisDataColumn ClaimTypeID = new KyprisDataColumn("Claim Type ID", "claimtype_id");
                public KyprisDataColumn Amount = new KyprisDataColumn("Amount", "Amount");


                public StoredProceduresChinaAcrualReport(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            #region StoredProceduresGetActionHistory
            //Added By Agnes[17Jul2009] - StoredProceduresGetActionHistory
            public class StoredProceduresGetActionHistory : GonzalesDataStructure.ViewsCollection.ViewActionHistory
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn Param_InternalID = new KyprisDataColumn("Internal ID", "@Internal_ID");


                public StoredProceduresGetActionHistory(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            //Added by mei chze on 18072012
            #region StoredProceduresGetActionHistory
            //Added By Agnes[17Jul2009] - StoredProceduresGetActionHistory
            public class StoredProceduresGetClaimHeaderByID : GonzalesDataStructure.ViewsCollection.ViewClaimHeaders
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn para_ClaimID = new KyprisDataColumn("Claim ID", "@ClaimID");
                public KyprisDataColumn para_CompanyName = new KyprisDataColumn("CompanyName", "@CompanyName");
                public KyprisDataColumn para_Entity = new KyprisDataColumn("Entity", "@Entity");
                public KyprisDataColumn para_claimant= new KyprisDataColumn("Claimant", "@Claimant");
                public KyprisDataColumn company_name = new KyprisDataColumn("company name", "company_name");
                public KyprisDataColumn company_country = new KyprisDataColumn("company country", "company_country");
                public KyprisDataColumn entity_name = new KyprisDataColumn("entity name", "entity_name");
                public StoredProceduresGetClaimHeaderByID(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion

            
            #region StoredProceduresGetClaimHeaderByClaimByAndClaimApprover
            //Added By Agnes[17Jul2009] - StoredProceduresGetActionHistory
            public class StoredProceduresGetClaimHeaderByClaimByAndClaimApprover : GonzalesDataStructure.ViewsCollection.ViewClaimHeaders
            {
                internal string ActualTableName
                {
                    get
                    {
                        return this.PrivateName;
                    }
                }

                public KyprisDataColumn para_ClaimBy = new KyprisDataColumn("Claim By", "@ClaimBy");
                public KyprisDataColumn para_ClaimApprover = new KyprisDataColumn("Claim Approver", "@ClaimApprover");
                public KyprisDataColumn company_name = new KyprisDataColumn("company name", "company_name");
                public KyprisDataColumn company_country = new KyprisDataColumn("company country", "company_country");
                public KyprisDataColumn entity_name = new KyprisDataColumn("entity name", "entity_name");
                public StoredProceduresGetClaimHeaderByClaimByAndClaimApprover(string Name, string PrivateName)
                    : base(Name, PrivateName)
                {
                }
            }
            #endregion
            #endregion
        }
    }


}
